package com.itaming.lycheeframework.api.exception;

/**
 * 异常解析器接口
 *
 * <p>
 * 用于将异常解析为 {@link ExceptionDescriptor}，便于全局异常处理器进行统一响应。
 *
 * @author A.Ming
 */
public interface ExceptionResolver {

    /**
     * 是否支持处理
     *
     * @param aClass 异常类
     * @return boolean
     */
    boolean supports(Class<?> aClass);

    /**
     * 解析异常
     *
     * @param exception 异常
     * @return 异常描述
     */
    ExceptionDescriptor resolve(Exception exception);

}
